package collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;

/**
 * @author 老安
 * @data 2022/6/30 20:09
 */
public class CollectionDemo2 {
    public static void main(String[] args) {
        Collection c = new ArrayList();
        //Collection c = new HashSet(); Set集合不允许存储重复的元素
        //crtl+d 复制当前行到下一行
        c.add(new Point(1, 2));
        c.add(new Point(1, 2));//重复存储一个元素
        c.add(new Point(3, 4));
        c.add(new Point(5, 6));
        c.add(new Point(7, 8));
        c.add(new Point(9, 0));
        /*
        * 集合输出时,是这样的格式:
        * [元素1.toString(),元素2.toString(),元素3.toString(),...]
        * toString() 默认输出的是对象的内存地址
        * 所以一般情况下,为了输出可观,要重写类中的toString
        * */
        System.out.println(c);
        Point p = new Point(1, 2);
        /*
        * boolean contains(Object o)
        * 判断当前集合是否包含给定的元素
        * 元素的包含取决于该元素是否与集合中的元素存在equals比较为true的情况
        * equals默认是比较内存地址,所以如果需要比较的是元素的内容是都相同,
        * 一般都要重写equals方法
        * */
        boolean contains = c.contains(p);
        System.out.println("集合是否包含元素:"+contains);
        /*
        * remove 方法删除集合中的指定元素,也是与集合中的元素进行equals比较结过为true的元素
        * 注意:对于List而言,由于可以存放重复的元素,对这种情况只会删除第一个结果为true的元素
        * */
        c.remove(p);
        System.out.println(c);
    }
}
